home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 32 / Amiga Format AFCD32 (Nov 1998, Issue 117).iso / -seriously_amiga- / programming / e / newgui / src / examples / testhelp.e < prev   
Text File  |  1998-08-10  |  3KB  |  70 lines

  1. OPT     OSVERSION = 37
  2. OPT     LARGE
  3.  
  4. MODULE  'newgui/newgui'
  5. MODULE  'newgui/ng_showerror'
  6.  
  7. CONST   GUI_MAIN = 1
  8.  
  9. DEF     gui:PTR TO LONG,
  10.         gh=NIL
  11.  
  12. PROC main()     HANDLE
  13.  DEF top,bottom
  14.   top:=[COLS,
  15.          [SPACEH],
  16. ->                                 .--------- INFO!
  17. ->                                ||  .------ HOTKEY (NOTE: "a" is diffrent to "A" - CASE INSENSITIVE)
  18. ->                                || ||    .- NODE (@node ...) of the AmigaGUIDE-Document for Online-Help
  19. ->                                \/ \/   \/
  20.          [BUTTON,{change},'GUI _A',0,'a','CH_0A'],
  21.          [SPACEH],
  22.          [BUTTON,{change},'GUI _B',1,'b','CH_0B'],
  23.          [SPACEH],
  24.          [BUTTON,{change},'GUI _C',2,'c','CH_0C'],
  25.          [SPACEH]
  26.        ]
  27.   bottom:=[BUTTON,{showguide},'_Show Guide',NIL,'s']
  28.  
  29.   gui:=[
  30.          [ROWS,top,[SPACE],[SLIDE,{ignore},'Colors:',FALSE,1,8,3,5,'',NIL,NIL,'CH_0D'],bottom],
  31.          [ROWS,top,[SPACE],[CHECK,{ignore},'Ignore case',TRUE,FALSE,NIL,NIL,'CH_0E'],bottom],
  32.          [ROWS,top,[SPACE],[PALETTE,{ignore},'Palette:',3,5,2,0,0,NIL,'CH_0F'],bottom]
  33.        ]
  34.   newguiA([
  35.         NG_WINDOWTITLE, 'NewGUI - Demo',
  36.         NG_REXXNAME,    'NEWGUI',               -> Name of the ARexx-Port
  37.         NG_REXXPROC,    {rexxmsg},              -> Procedure to parse the ARexx-Messages
  38.         NG_HELPGUIDE,   'edocs:e.guide',        -> Name from the Amiga-Guide-Online-Help (!!!! Change to your e.doc!!!)
  39.         NG_GUIID,       GUI_MAIN,               -> Gui-ID
  40.         NG_GUI,         gui[],                  -> Gui-Description (PTR to a List!!)
  41.         NIL,NIL],{getgui})
  42. EXCEPT DO
  43.  IF exception THEN ng_showerror(exception)
  44. CleanUp(exception)
  45. ENDPROC
  46.  
  47. PROC ignore()   IS EMPTY                        -> Do nothing (NOP)
  48.  
  49. PROC getgui(g,s)        IS gh:=g                -> Get the PTR to the Guihandle (s = screen-PTR!!!)
  50.  
  51. PROC change(index,g)
  52.  ng_setattrsA([NG_GUI,  gh,                     -> NG_GUI is ALWAYS (!) the MAIN-Guihandle (the first opened!)
  53.         NG_CHANGEGUI,   NG_NEWGUI,              -> Change the GUI, ACTION = New GUI-Description (NG_NEWGUI)
  54.         NG_GUIID,       GUI_MAIN,               -> Guihandle from the gui to change!
  55.         NG_NEWDATA,     gui[index],             -> The NEW Gui DESCRIPTION (!) no Guihandle!
  56.         NIL,NIL])
  57. ENDPROC
  58.  
  59. PROC showguide()
  60.  ng_setattrsA([NG_GUI,  gh,                     -> NG_GUI = Mail-GUIhandle!
  61.         NG_SHOWGUIDE,   TRUE,                   -> Show the HELP-Guide (main-node!)
  62.         NIL,NIL])
  63. ENDPROC
  64.  
  65. PROC rexxmsg(s,mes=NIL)                         -> Procedure to parese the ARexx-Message
  66.  WriteF('\nRexx-Msg: "\s"',s)                   -> Display the receives String! 
  67.  
  68.   mes:=NIL                                      -> Reset the message-PTR
  69. ENDPROC  StrCmp('QUIT',s),0,'Reply-Message'     -> Return-Codes ect... (look AFC/Rexxer-Doc for details!)
  70.